home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / ICProgKit1.0 / APIs / ICCAPI.h < prev    next >
Text File  |  1994-12-01  |  3KB  |  84 lines

  1. /*
  2.     The canonical Internet Config interface is defined in Pascal.  These headers have
  3.     not been thoroughly tested.  If there is a conflict between these headers and the
  4.     Pascal interfaces, the Pascal should take precedence.
  5. */
  6.  
  7. /* ///////////////////////////////////////////////////////////////////////////////// */
  8.  
  9. #ifndef __ICCAPI__
  10. #define __ICCAPI__
  11.  
  12. #ifndef __TYPES__
  13. #include <Types.h>
  14. #endif
  15.  
  16. #ifndef __FILES__
  17. #include <Files.h>
  18. #endif
  19.  
  20. #ifndef __COMPONENTS__
  21. #include <Components.h>
  22. #endif
  23.  
  24. #ifndef __ICTYPES__
  25. #include <ICTypes.h>
  26. #endif
  27.  
  28. /* //////////////////////////////////////////////////////////////////////////////// */
  29.  
  30. enum {
  31.     internetConfigurationComponentType = 'PREF',                                        /* the component type */
  32.     internetConfigurationComponentSubType = 'ICAp',                   /* the component subtype */
  33.     internetConfigurationComponentInterfaceVersion = 0L            /* current version number */
  34. };
  35.  
  36. typedef ComponentInstance internetConfigurationComponent;
  37.  
  38. #ifdef __cplusplus
  39. extern "C" {
  40. #endif __cplusplus
  41.  
  42.     extern pascal ICError ICCStart(internetConfigurationComponent *inst, OSType creator);
  43.     /* checks for the presence of the Component Manager and the Internet Configuration component */
  44.     /* returns badComponentInstance if it can't find either*/
  45.     /* inst is either nil or a valid component instance */
  46.     /* this routine lets you access the component based implementation with only minimal*/
  47.     /* yucky glue */
  48.     extern pascal ICError ICCStop(internetConfigurationComponent inst);
  49.     /* shut down the component */
  50.  
  51.     pascal ICError ICCFindConfigFile(internetConfigurationComponent inst, short count, ICDirSpecArrayPtr folders)
  52.     FIVEWORDINLINE(0x2F3C, 0x06, 0x02, 0x7000, 0xA82A);
  53.     pascal ICError ICCSpecifyConfigFile(internetConfigurationComponent inst, FSSpec config)
  54.     FIVEWORDINLINE(0x2F3C, 0x04, 0x03, 0x7000, 0xA82A);
  55.  
  56.     pascal ICError ICCGetSeed(internetConfigurationComponent inst, long *seed)
  57.     FIVEWORDINLINE(0x2F3C, 0x04, 0x04, 0x7000, 0xA82A);
  58.     pascal ICError ICCGetPerm(internetConfigurationComponent inst, ICPerm *perm)
  59.     FIVEWORDINLINE(0x2F3C, 0x04, 0x0D, 0x7000, 0xA82A);
  60.  
  61.     pascal ICError ICCBegin(internetConfigurationComponent inst, ICPerm perm)
  62.     FIVEWORDINLINE(0x2F3C, 0x02, 0x05, 0x7000, 0xA82A);
  63.     pascal ICError ICCGetPref(internetConfigurationComponent inst, ConstStr255Param key, ICAttr *attr, Ptr buf, long *size)
  64.     FIVEWORDINLINE(0x2F3C, 0x10, 0x06, 0x7000, 0xA82A);
  65.     pascal ICError ICCSetPref(internetConfigurationComponent inst, ConstStr255Param key, ICAttr attr, Ptr buf, long size)
  66.     FIVEWORDINLINE(0x2F3C, 0x10, 0x07, 0x7000, 0xA82A);
  67.     pascal ICError ICCCountPref(internetConfigurationComponent inst, long *count)
  68.     FIVEWORDINLINE(0x2F3C, 0x04, 0x08, 0x7000, 0xA82A);
  69.     pascal ICError ICCGetIndPref(internetConfigurationComponent inst, long n, Str255 key)
  70.     FIVEWORDINLINE(0x2F3C, 0x08, 0x09, 0x7000, 0xA82A);
  71.     pascal ICError ICCDeletePref(internetConfigurationComponent inst, ConstStr255Param key)
  72.     FIVEWORDINLINE(0x2F3C, 0x04, 0x0C, 0x7000, 0xA82A);
  73.     pascal ICError ICCEnd(internetConfigurationComponent inst)
  74.     FIVEWORDINLINE(0x2F3C, 0x00, 0x0A, 0x7000, 0xA82A);
  75.  
  76.     pascal ICError ICCDefaultFileName(internetConfigurationComponent inst, Str63 *name)
  77.     FIVEWORDINLINE(0x2F3C, 0x04, 0x0B, 0x7000, 0xA82A);
  78.  
  79. #ifdef __cplusplus
  80. }
  81. #endif __cplusplus
  82.  
  83. #endif
  84.